import axios from 'axios';
import { Alert } from 'react-native';

// 创建 axios 实例
const instance = axios.create({
  baseURL: 'http://localhost:3000/', // 替换为你的实际 API 地址
  // timeout: 10000,
  // headers: {
  //   'Content-Type': 'application/json',
  // },
});

// 请求拦截器
instance.interceptors.request.use(
  (config) => {
    // 在这里你可以添加 token
    // const token = await AsyncStorage.getItem('token');
    // if (token) {
    //   config.headers.Authorization = `Bearer ${token}`;
    // }
    return config;
  },
  (error) => {
    return Promise.reject(error);
  }
);

// 响应拦截器
instance.interceptors.response.use(
  (response) => {
    // 你可以根据你的 API 响应格式进行自定义处理
    const { data } = response;
    return data;
  },
  (error) => {
    if (error.response) {
      switch (error.response.status) {
        case 401:
          // 处理未授权错误
          Alert.alert('错误', '请重新登录');
          break;
        case 404:
          Alert.alert('错误', '请求的资源不存在');
          break;
        case 500:
          Alert.alert('错误', '服务器错误');
          break;
        default:
          Alert.alert('错误', '网络错误');
      }
    } else if (error.request) {
      Alert.alert('错误', '网络连接失败');
    } else {
      Alert.alert('错误', '请求配置错误');
    }
    return Promise.reject(error);
  }
);

export default instance; 